package com.linran.javaweb.controller;

import com.linran.javaweb.annotation.PageVO;
import com.linran.javaweb.controller.param.Page;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PageController {

    @PageVO
    @GetMapping("/page/get")
    public Object page(String pageNo, Integer pageSize){
        return 100L;
    }

    /**
     * post方式
     *  该方法目前有一个问题，在拦截器进行分页参数拦截的时候，如果request的body流被读取后，再次进行body获取时会报错
     *  可以通过httpServletRequest的包装类解决
     * @param page
     * @return
     */
    @PageVO
    @PostMapping("/page/post")
    public Object page2(@RequestBody Page page){
        System.out.println(page.toString());
        return 3000L;
    }
}
